Conventionally, this type of network system includes, for example, one in which packets flow like a burst on a network such as an ATM (Asynchronous Transfer Mode) network in a subscriber loop, that is, the packets flow, requiring a large transmission band in a short period of time. In such a network system, if a user (for example, a subscriber's personal computer, hereinafter referred to as “subscriber's PC”) is allowed to transmit cells in a free traffic volume, a particular subscriber's PC may transmit cells in a large-capacity traffic volume, due to a difference in frequency of transmitting information between users. Therefore, this network system has a problem such that the traffic volume of cells that can be transmitted by some other subscriber's PC may become small, or cell transmission by some other subscriber's PC may not be performed, and hence equity between the users in the packet transmission cannot be ensured.
In this network system, if a packet (an ATM cell) that acts against the code for packet transmission, flows in the network, it may adversely affect the traffic in the communication line, to deteriorate the transmission quality for other users.
Therefore, conventionally, an upper limit of packet volume that can be transmitted per unit time, is determined by an agreement between common carrier of the network who builds the network system and users. Policing control is then performed for checking whether the subscriber's PC is transmitting packets in the traffic volume within the agreed range, by a relay apparatus such as an edge router provided in this network.
For example, the basic concept of the policing control in the ATM network is UPC (Usage Parameter Control), and this policing control is realized by discarding a packet that does not satisfy this usage parameter. The judgment conditions for passing or discarding the packet by this policing control are set by a PCR (Peak Cell Rate) monitoring algorithm and a CDTV (Call Delay Variation Tolerance).
A router having such a policing control function comprises, as shown in FIG. 1 that shows the schematic configuration thereof, controllers 10a to 10n (n is an optional integer) each including a received time recorder 11 that records a received time of a packet, an estimator 12 that estimates an arrival time of the next packet, a calculator 13 that carries out calculation processing in a policing control apparatus, and a judgment section 14 that judges passage or discarding of the packet, based on the information for the packet received time recorded in the received time recorder 11 and the estimated arrival time of the next packet estimated by the estimation unit 12. This router has a plurality of input ports 3a to 3n (n is an optional integer), being a physical port provided for each line, and the controller 10 is provided respectively for each of the input ports 3a to 3n. 
The router also comprises a plurality of output ports 4a to 4n (n is an optional integer), being a physical port, and a switch fabric 5 that selects an output port suitable for outputting a packet subjected to policing judgment, from the output ports 4a to 4n. In FIG. 1, the arrows shown on the input ports 3a to 3n and the output ports 4a to 4n and 2 indicate a direction of a packet input to the router or output from the router.
The policing judgment in each controller 10a to 10n of the router (policing control apparatus) is executed based on a virtual scheduling algorithm as shown in FIG. 2. The sequence of this processing will be explained as follows. For example, when a packet is received at time [t(k)] (k is an optional integer) (step 101), the received time [t(k)] of this packet is first recorded (step 102). The value of the estimated packet arrival time [TAT (Theoretical Arrival Time)] obtained in advance as described later is compared with the packet received time [t(k)] (step 103).
When the packet received time [t(k)] is later than the estimated packet arrival time [TAT], as shown in FIG. 3(a), an interarrival time of this packet is long. Therefore, it is judged that it suits the policing rate, and the packet is permitted, and the estimated arrival time of the next packet is calculated (step 104, step 106).
When the packet received time [t(k)] is equal to or earlier than the estimated packet arrival time [TAT] (step 103), an additional value [t(k)+L] obtained by adding a packet arrival permissible time [L] described later to the packet received time [t(k)] is compared with the estimated packet arrival time [TAT] (step 105).
When this additional value [t(k)+L] is equal to or exceeds the estimated packet arrival time [TAT], as shown in FIG. 3(b), a timing of receiving the packet is within the packet arrival permissible time [L], and hence the passage of the packet is permitted, and the estimated packet arrival time [TAT] of the next packet is calculated based on the estimated packet arrival time [TAT] of the packet (step 106). In this calculation, the estimated packet arrival time [TAT] is designated as the received time [t(k)] of this packet, and an interarrival time [D] of a standard packet expressed by an inverse number of the allowable packet rate is added to [t(k)], to thereby determine an estimated packet arrival time [TAT] of the next packet.
On the other hand, at step 105, when the additional value [t(k)+L] obtained by adding the packet arrival permissible time [L] to the packet received time [t(k)] is earlier than the estimated packet arrival time [TAT], as shown in FIG. 3(c), the transmission interval of the packet is shorter than a defined interval. Therefore, this packet is judged as a non-conforming packet, and discarded (step 107). The operation of this virtual scheduling algorithm is repeatedly carried out every time a packet is received.
In this manner, the virtual scheduling algorithm determines whether a packet is to be passed through or discarded, by comparing the time [t(k)] when the packet is received and the estimated time [TAT] when the packet is to be received originally.
In this conventional example, if the value of the packet arrival permissible time [L] is increased, the number of packets to be discarded can be reduced. However, in this conventional example, it is resultantly permitted to pass through the packet at a rate higher than the agreed rate in a short period of time. Therefore, in this conventional example, a value of the packet arrival permissible time [L] suitable for the network system, to which the policing control apparatus is applied, is registered in the estimation unit 12 in advance.
In this policing judgment, the estimated time [TAT] managed by a counter and the packet received time [t(k)] are handled as a real number not smaller than 0. In the actual router, however, the counter is realized as a counter having a finite bit length, and if a certain period of time is exceeded, the count value of the counter returns to 0. Therefore, there is a possibility that false reversal takes place between the packet received time and the estimated packet arrival time, to thereby misinterpret the policing judgment.
For example, there may be a case such that when the standard packet interarrival time [D] expressed by an inverse number of the permissible packet rate is added to the estimated arrival time [TAT] of the previous packet to calculate the estimated arrival time of the next packet, a value as a result of the estimated packet arrival time [TAT] should become [T2] originally, as shown in FIG. 4, but actually the counter overflows and the [TAT] becomes [T1] ([T1]<[T2]), and the value returns to about 0. In this state, in the original counter operation, the estimated packet arrival time [TAT] should become larger (the time is delayed) than the packet arrival time [t(k)], but the estimated packet arrival time [TAT] becomes smaller (the time becomes earlier), due to the overflow of the counter. This means that a packet supposed to be discarded is allowed to pass through.
Further, when the packet flow is stagnant for some time and the packets are received, the counter of the packet arrival time [t(k)] may overflow and show a value near 0, as is the case where the counter of the estimated packet arrival time [TAT] overflows. In this case, when the value of the estimated packet arrival time [TAT] is large (the time is delayed), a packet supposed to be passed through is discarded. Hence, packets are continuously discarded by the policing control apparatus until the packet arrival time [t(k)] exceeds the estimated packet arrival time [TAT] (until the time is delayed).